	.file	"bubble.c"
	.text
	.p2align 2,,3
.globl getListNode
	.type	getListNode, @function
getListNode:
	pushl	%ebp
	movl	%esp, %ebp
	subl	$20, %esp
	pushl	$12
	call	malloc
	movl	%eax, %edx
	movl	front, %eax
	addl	$16, %esp
	testl	%eax, %eax
	jne	.L2
	movl	%edx, tail
	movl	%edx, front
	movl	$0, 8(%edx)
	movl	$0, 4(%edx)
	movl	%edx, %eax
	leave
	ret
	.p2align 2,,3
.L2:
	movl	tail, %ecx
	movl	%edx, 4(%ecx)
	movl	%ecx, 8(%edx)
	movl	%edx, tail
	movl	%edx, %eax
	leave
	ret
	.size	getListNode, .-getListNode
	.p2align 2,,3
.globl getNode
	.type	getNode, @function
getNode:
	pushl	%ebp
	movl	%esp, %ebp
	subl	$20, %esp
	pushl	$12
	call	malloc
	movl	front, %ecx
	addl	$16, %esp
	testl	%ecx, %ecx
	movl	%eax, %edx
	jne	.L6
	movl	%eax, tail
	movl	%eax, front
	movl	$0, 8(%eax)
	movl	$0, 4(%eax)
	leave
	movl	%edx, %eax
	ret
	.p2align 2,,3
.L6:
	movl	tail, %eax
	movl	%edx, 4(%eax)
	movl	%eax, 8(%edx)
	movl	%edx, tail
	movl	%edx, %eax
	leave
	ret
	.size	getNode, .-getNode
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"%d\n"
	.text
	.p2align 2,,3
.globl printNodes
	.type	printNodes, @function
printNodes:
	pushl	%ebp
	movl	%esp, %ebp
	pushl	%ebx
	pushl	%ebx
	movl	front, %ebx
	jmp	.L17
	.p2align 2,,3
.L18:
	subl	$8, %esp
	pushl	(%ebx)
	pushl	$.LC0
	call	printf
	movl	4(%ebx), %ebx
	addl	$16, %esp
.L17:
	testl	%ebx, %ebx
	jne	.L18
	movl	-4(%ebp), %ebx
	leave
	ret
	.size	printNodes, .-printNodes
	.p2align 2,,3
.globl bubbleSortRev
	.type	bubbleSortRev, @function
bubbleSortRev:
	pushl	%ebp
	movl	%esp, %ebp
	pushl	%edi
	movl	front, %edi
	pushl	%esi
	movl	%edi, %esi
	testl	%esi, %esi
	pushl	%ebx
	movl	%edi, %ecx
	je	.L30
	.p2align 2,,3
.L40:
	movl	4(%edi), %edx
	testl	%edx, %edx
	je	.L32
	.p2align 2,,3
.L39:
	movl	(%ecx), %ebx
	movl	(%edx), %eax
	cmpl	%eax, %ebx
	jge	.L25
	xorl	%ebx, %eax
	movl	%eax, (%ecx)
	xorl	(%edx), %eax
	movl	%eax, (%edx)
	xorl	%eax, (%ecx)
.L25:
	movl	%edx, %ecx
	movl	4(%edx), %edx
	testl	%edx, %edx
	jne	.L39
.L32:
	movl	%edi, %ecx
	movl	4(%esi), %esi
	testl	%esi, %esi
	jne	.L40
.L30:
	popl	%ebx
	popl	%esi
	popl	%edi
	leave
	ret
	.size	bubbleSortRev, .-bubbleSortRev
	.p2align 2,,3
.globl bubbleSort
	.type	bubbleSort, @function
bubbleSort:
	pushl	%ebp
	movl	%esp, %ebp
	pushl	%edi
	movl	front, %edi
	pushl	%esi
	movl	%edi, %esi
	testl	%esi, %esi
	pushl	%ebx
	movl	%edi, %ecx
	je	.L52
	.p2align 2,,3
.L62:
	movl	4(%edi), %edx
	testl	%edx, %edx
	je	.L54
	.p2align 2,,3
.L61:
	movl	(%ecx), %ebx
	movl	(%edx), %eax
	cmpl	%eax, %ebx
	jle	.L47
	xorl	%ebx, %eax
	movl	%eax, (%ecx)
	xorl	(%edx), %eax
	movl	%eax, (%edx)
	xorl	%eax, (%ecx)
.L47:
	movl	%edx, %ecx
	movl	4(%edx), %edx
	testl	%edx, %edx
	jne	.L61
.L54:
	movl	%edi, %ecx
	movl	4(%esi), %esi
	testl	%esi, %esi
	jne	.L62
.L52:
	popl	%ebx
	popl	%esi
	popl	%edi
	leave
	ret
	.size	bubbleSort, .-bubbleSort
	.p2align 2,,3
.globl main
	.type	main, @function
main:
	pushl	%ebp
	movl	%esp, %ebp
	pushl	%edi
	pushl	%esi
	pushl	%ebx
	subl	$28, %esp
	andl	$-16, %esp
	subl	$16, %esp
	movl	$0, tail
	movl	$0, front
	call	readfile
	subl	$8, %esp
	pushl	$0
	leal	-24(%ebp), %eax
	pushl	%eax
	call	gettimeofday
	movl	front, %esi
	addl	$16, %esp
	testl	%esi, %esi
	movl	%esi, %ecx
	movl	%esi, %edi
	je	.L102
	.p2align 2,,3
.L120:
	movl	4(%esi), %edx
	testl	%edx, %edx
	je	.L103
	.p2align 2,,3
.L119:
	movl	(%ecx), %ebx
	movl	(%edx), %eax
	cmpl	%eax, %ebx
	jle	.L96
	xorl	%ebx, %eax
	movl	%eax, (%ecx)
	xorl	(%edx), %eax
	movl	%eax, (%edx)
	xorl	%eax, (%ecx)
.L96:
	movl	%edx, %ecx
	movl	4(%edx), %edx
	testl	%edx, %edx
	jne	.L119
.L103:
	movl	4(%edi), %edi
	movl	%esi, %ecx
	testl	%edi, %edi
	jne	.L120
.L102:
	movl	%esi, %edi
	testl	%edi, %edi
	movl	%esi, %ecx
	je	.L104
	.p2align 2,,3
.L122:
	movl	4(%esi), %edx
	testl	%edx, %edx
	je	.L105
	.p2align 2,,3
.L121:
	movl	(%ecx), %ebx
	movl	(%edx), %eax
	cmpl	%eax, %ebx
	jge	.L99
	xorl	%ebx, %eax
	movl	%eax, (%ecx)
	xorl	(%edx), %eax
	movl	%eax, (%edx)
	xorl	%eax, (%ecx)
.L99:
	movl	%edx, %ecx
	movl	4(%edx), %edx
	testl	%edx, %edx
	jne	.L121
.L105:
	movl	%esi, %ecx
	movl	4(%edi), %edi
	testl	%edi, %edi
	jne	.L122
.L104:
	subl	$8, %esp
	leal	-32(%ebp), %ebx
	pushl	$0
	pushl	%ebx
	call	gettimeofday
	popl	%esi
	popl	%edi
	pushl	%ebx
	leal	-24(%ebp), %edx
	pushl	%edx
	call	printTime
	leal	-12(%ebp), %esp
	popl	%ebx
	popl	%esi
	xorl	%eax, %eax
	popl	%edi
	leave
	ret
	.size	main, .-main
	.comm	front,4,4
	.comm	tail,4,4
	.section	.note.GNU-stack,"",@progbits
	.ident	"GCC: (GNU) 3.4.6 20060404 (Red Hat 3.4.6-8)"
